白話來說包含“迴歸”,但實際上它是一個分類算法,而不是回歸算法~對特徵的線性關係也就是二元分類問題敏感分得不錯~~~
分類問題:邏輯迴歸主要用於處理二元分類問題,即將數據劃分為兩個類別,分類問題:邏輯迴歸主要用於處理二元分類問題,即將數據劃分為兩個類別,
假設:邏輯迴歸基於一個假設,即數據可以用一個 S 形曲線(稱為 logistic 函數或 sigmoid 函數)來描述
工作流程:
特徵選擇:選擇對於分類任務來說是重要的特徵。
訓練模型:將選擇的特徵和標籤用於訓練邏輯回歸模型。
計算概率:使用 sigmoid 函數計算每個樣本屬於正類的概率。
決策邊界:根據設定的閾值(通常是 0.5)將概率轉換為分類預測。
損失函數和參數更新:
在訓練過程中,我們通過最小化損失函數來調整模型參數。對於邏輯回歸,通常使用的損失函數是對數損失(Log Loss)。
優點:
簡單而有效,特別適合作為基線模型。
能夠提供樣本屬於特定類別的概率。
注意事項:
邏輯回歸是一個線性分類器,只能處理線性可分的問題。如果數據不是線性可分的,可能需要進行特徵工程或者考慮其他非線性模型。
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
# 載入鳶尾花數據集
iris = load_iris()
X = iris.data
y = iris.target
# 將數據集劃分為訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化邏輯回歸模型
logistic_reg = LogisticRegression()
# 在訓練集上訓練模型
logistic_reg.fit(X_train, y_train)
# 在測試集上進行預測
y_pred = logistic_reg.predict(X_test)
# 評估模型
accuracy = accuracy_score(y_test, y_pred)
report = classification_report(y_test, y_pred)
# 打印結果
print(f'準確度:{accuracy}')
print(f'分類報告:\n{report}')